package com.shujia.wyh;

import com.shujia.wyh.utils.MysqlTool;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest4 {
    public static void main(String[] args) {
        Connection conn = null;
        Statement state = null;
        try {
            //获取连接对象
            conn = MysqlTool.getConnection();

            //获取数据库操作对象
            state = conn.createStatement();

            //查询
            String sql = "select deptno as a1,dname,loc from dept";
            ResultSet rs = state.executeQuery(sql);
            //通过观察api发现，判断下一行是否有数据，使用next()方法进行判断，如果有数据返回true,反之返回false
            while (rs.next()){
                //获取数据
                //ResultSet结果集类型中有一个方法可以获取数据
                //第一种获取数据的方式：通过列的下标索引进行获取
                //String getString(int columnIndex)
                //结果行中的列从左往右编号，从1开始
//                String deptno = rs.getString(1);
//                String dname = rs.getString(2);
//                String loc = rs.getString(3);
//                System.out.println("部门编号："+deptno+",部门名称："+dname+",地址："+loc);

                //第二种获取数据的方式：通过列的名称进行获取
                //如果查询语句中有别名的列存在，第二种方式查询的时候，使用别名获取这一列
                String deptno = rs.getString("a1");
                String dname = rs.getString("dname");
                String loc = rs.getString("loc");
                System.out.println("部门编号：" + deptno + ",部门名称：" + dname + ",地址：" + loc);
            }


        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if(state!=null){
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}
